//package utils;
//
//import org.springframework.util.StopWatch;
//import ws.schild.jave.MultimediaInfo;
//import ws.schild.jave.MultimediaObject;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.math.BigDecimal;
//import java.math.RoundingMode;
//import java.nio.channels.FileChannel;
//
///**
// * @Author DRevelation
// * @Date 2020-07-17 下午 15:33
// * @Desc
// */
//public class VideoCalcUtils {
//
//    public static void main(String[] args) {
//        StopWatch stopWatch = new StopWatch();
//        stopWatch.start("读取时长和大小");
//        String fileUrl = "D:\\TestVideo\\寄生兽第1季01集.国日双语中日双字.Parasyte：The Maxim.Ep01.BDrip.2Audio.1080P-172HD.mp4";
//        File file = new File(fileUrl);
//        Long duration = VideoCalcUtils.readVideoDuration(file);
//        Long size = VideoCalcUtils.readVideoSize(file);
//        System.out.println("时长: " + duration);
//        System.out.println("大小: " + size);
//        stopWatch.stop();
//        System.out.println("耗时: " + stopWatch.getTotalTimeMillis());
//    }
//
//    /**
//     * 视频时长-秒
//     *
//     * @param source
//     * @return
//     */
//    public static Long readVideoDuration(File source) {
//        long duration = 0;
//        try {
//            MultimediaObject instance = new MultimediaObject(source);
//            MultimediaInfo result = instance.getInfo();
//            duration = result.getDuration() / 1000;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return duration;
//    }
//
//    /**
//     * 视频大小-byte
//     *
//     * @param source
//     * @return
//     */
//    public static Long readVideoSize(File source) {
//        long size = 0;
//        try (FileInputStream fis = new FileInputStream(source); FileChannel fc = fis.getChannel()) {
//            size = fc.size();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return size;
//    }
//
//    /**
//     * 视频时长-时分秒格式
//     *
//     * @param source
//     * @return
//     */
//    public static String readVideoTime(File source) {
//        String length = "";
//        try {
//            MultimediaObject instance = new MultimediaObject(source);
//            MultimediaInfo result = instance.getInfo();
//            long ls = result.getDuration() / 1000;
//            Integer hour = (int) (ls / 3600);
//            Integer minute = (int) (ls % 3600) / 60;
//            Integer second = (int) (ls - hour * 3600 - minute * 60);
//            String hr = hour.toString();
//            String mi = minute.toString();
//            String se = second.toString();
//            if (hr.length() < 2) {
//                hr = "0" + hr;
//            }
//            if (mi.length() < 2) {
//                mi = "0" + mi;
//            }
//            if (se.length() < 2) {
//                se = "0" + se;
//            }
//            length = hr + ":" + mi + ":" + se;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return length;
//    }
//
//    /**
//     * 视频大小-MB格式
//     *
//     * @param source
//     * @return
//     */
//    @SuppressWarnings({"resource"})
//    public static String readVideoMBSize(File source) {
//        String size = "";
//        try (FileInputStream fis = new FileInputStream(source); FileChannel fc = fis.getChannel()) {
//            BigDecimal fileSize = new BigDecimal(fc.size());
//            size = fileSize.divide(new BigDecimal(1024 * 1024), 2, RoundingMode.HALF_UP) + "MB";
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return size;
//    }
//}
